package com.tanhua.dubbo.api;

import com.tanhua.model.domain.Comment;
import com.tanhua.model.enums.CommentType;

import java.util.List;

public interface CommentsApi {

    /**
     * 查询动态互动,通过 动态id,互动类型
     *
     * @param movementId
     * @param comment
     * @param page
     * @param pagesize
     * @return
     */
    List<Comment> findComments(String movementId, CommentType comment, Integer page, Integer pagesize);

    /**
     * 保存评论
     *
     * @param comment
     * @return
     */
    Integer save(Comment comment);

    /**
     * 保存评论点赞
     *
     * @param comment
     * @return
     */
    Integer saveComment(Comment comment);

    /**
     * 删除评论点赞
     * @param comment
     * @return
     */
    Integer deleteComment(Comment comment);

    /**
     * 判断用户对该动态是否已互动
     *
     * @param publishId
     * @param userId
     * @param commentType
     * @return
     */
    Boolean hasComment(String publishId, Long userId, CommentType commentType);

    /**
     * 取消互动:点赞,喜欢
     *
     * @param comment
     * @return
     */
    Integer delete(Comment comment);

    /**
     * 查询点赞列表
     * @param page
     * @param pagesize
     * @return
     */
    List<Comment> findLikesOrLoves(Long userId,Integer page, Integer pagesize,CommentType commentType);
}
